home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / bowling.arc / BOWLING.BAS (.txt) next >
Encoding:
GW-BASIC  |  1985-07-12  |  15.3 KB  |  204 lines

  1. 5  CLEAR 3500:DEFINT G,X,Y:DIM T$(16),T(16,3),T1$(16),T1(16,3),A$(16,16),A(16,16,3),S$(31),S(31,2),N(16),S9(20,2),M$(100),M(100),A1(16),B(16),L(16):A$=".###":B$="###.#":C$="###":D$="##,###":Q$(0)="INDIV":Q$(1)="MEN'S"
  2. 6  LPRINT CHR$(27);"B"
  3. 7  CLS:LINE INPUT"DATE ? ";DT$
  4. 8  INPUT"ENTER BOWLING DATE (Use format MMDDYY  just NUMBERS please)";DX$:IF LEN(DX$)<>6 OR RIGHT$(DX$,2)<"82" THEN PRINT"WRONG FORMAT... TRY AGAIN":GOTO 8 ELSE DX$=RIGHT$(DX$,2)+LEFT$(DX$,4)
  5. 10  CLS:PRINT TAB(20)"-  B O W L I N G  -":PRINT TAB(20)STRING$(20,129)
  6. 15  PRINT,"1 - INITIALIZE":PRINT,"2 - READ FROM DISK":PRINT,"3 - WRITE TO DISK";:IF D1=1 THEN PRINT"   * ";FL$;" WRITTEN  *"ELSE PRINT
  7. 17  PRINT,"4 - ENTER NEW WEEKLY DATA":PRINT,"5 - DISPLAY":PRINT,"6 - PRINT REPORT":PRINT,"7 - PRINT SORTED AVERAGES":PRINT,"8 - VERIFY MAN/WOMAN":PRINT,"9 - POST INDIVIDUAL GAMES";:IF D2=1 THEN PRINT"  *  POSTED  *"ELSE PRINT
  8. 18  PRINT TAB(15)"10 - PRINT INDIVIDUAL STATISTICS"
  9. 20  PRINT TAB(20)STRING$(20,129):PRINT,:INPUT"SELECTION";X:ON X GOTO 100,200,300,500,700,600,900,800,850,50
  10. 50  CLS:PRINT"* *  W A R N I N G  * *":PRINT:PRINT"THIS OPTION WILL ERASE THE CURRENT PROGRAM.":PRINT:IF D1<>1 THEN PRINT"- YOUR CURRENT FILE HAS NOT BEEN SAVED TO DISK"
  11. 51  IF D2<>1 THEN PRINT"- YOU HAVE NOT YET POSTED YOUR CURRENT INDIVIDUAL GAMES."
  12. 55  PRINT:INPUT"DO YOU WISH TO CONTINUE (C) OR RETURN (R) TO MAIN MENU";X$:IF X$<>"C"AND X$<>"c"THEN 10 ELSE RUN"ISTATS
  13. 100  CLS:PRINT"1-LEAGUE NAME":PRINT"2-TEAM SIZE (EA GAME)":PRINT"3-# OF TEAMS":PRINT"4-GAMES PER MATCH":PRINT"5-HDCP REFERENCE NUMBER":PRINT"6-HDCP %":PRINT"7-# OF HI GAME/HI SERIES PLACES":PRINT"8-INDIVIDUAL DATA":PRINT"9-TEAM DATA"
  14. 102  PRINT"10-EACH TEAM SIZE":PRINT"11-'HIGH 3' DATA":PRINT"12-MIXED OR NOT":PRINT"13-SUBS OPTION":PRINT"14-INDEX":INPUT X:ON X GOTO 115,110,120,130,140,150,155,160,170,175,180,190,192,10
  15. 110  INPUT"TEAM SIZE (EA GAME)";C1:GOTO 100
  16. 115  INPUT"LEAGUE NAME";L$:GOTO 100
  17. 120  INPUT"# OF TEAMS";C2:GOTO 100
  18. 130  INPUT"GAMES PER MATCH";C3:GOTO 100
  19. 140  INPUT"HDCP REF NUMBER (SCRATCH=0)";C4:GOTO 100
  20. 150  INPUT"HDCP % (SCRATCH=0)";C5:GOTO 100
  21. 155  INPUT"# OF 'HI GAME/HI SERIES' PLACES";C6:GOTO 100
  22. 160  CLS:PRINT:PRINT:PRINT:PRINT,"1  INPUT NEW INDIVIDUAL DATA":PRINT,"2  EDIT EXISTING INDIVIDUAL DATA":PRINT,"3  NEW/CHANGE SUB DATA":PRINT,:INPUT"SELECTION";X:ON X GOTO 163,4000,165
  23. 163  INPUT"INDIVIDUAL DATA (NAME,TEAM#,PLAYER#,HDCP,GAMES,PINS,SEX(MALE=0  FEMALE=1)(0,0,0,0,0,0,0 TO QUIT)";Z$,X,Y,H,Z,Z1,Z2:IF Z$="0"THEN 100 ELSE A$(X,Y)=Z$:A(X,Y,0)=H:A(X,Y,1)=Z:A(X,Y,2)=Z1:A(X,Y,3)=Z2:GOTO 163
  24. 165  INPUT"SUBS INDIV DATA (NAME,PLAYER#,HDCP,GMS,PINS)(0,0,0,0,0 TO QUIT)";X$,X,X0,X1,X2:IF X=0 THEN 100 ELSE S$(X)=X$:S(X,0)=X0:S(X,1)=X1:S(X,2)=X2:GOTO 165
  25. 170  INPUT"TEAM DATA (NAME,TEAM#,WON(POINTS),LOST,TOT PINS,# ON TEAM)(0,0,0,0,0,0,0 TO QUIT)";Z$,X,W,L,P,N:IF Z$="0" THEN 100 ELSE T$(X)=Z$:T(X,1)=W:T(X,2)=L:T(X,3)=P:N(X)=N:GOTO 170
  26. 175  CLS:INPUT"CHANGE WHICH TEAM (0 TO QUIT)";X:IF X=0 THEN 100 ELSE CLS:PRINT X;T$(X):PRINT:FOR Y=1 TO N(X):PRINT Y;A$(X,Y):NEXT:INPUT"NEW #";N(X):A$(X,N(X)+1)="":A$(X,N(X)+2)="":GOTO 175
  27. 180  CLS:PRINT"ENTER (NAME,SCORE)":FOR X=1 TO C6:PRINT X:INPUT"TEAM SER SCR";TS$(X),TS(X):INPUT"TEAM SER HDCP";S1$(X),S1(X):INPUT"TEAM GM SCR";TG$(X),TG(X):INPUT"TEAM GM HDCP";S2$(X),S2(X)
  28. 182  PRINT Q$(C7);" SER SCR";:INPUT IS$(X),IS(X):PRINT Q$(C7);" SER HDCP";:INPUT I1$(X),I1(X):PRINT Q$(C7);" GM SCR";:INPUT IG$(X),IG(X):PRINT Q$(C7);" GM HDCP";:INPUT I2$(X),I2(X)
  29. 184  IF C7=1 THEN INPUT"WOMEN SER SCR";WS$(X),WS(X):INPUT"WOMEN SER HDCP";W1$(X),W1(X):INPUT"WOMEN GM SCR";WG$(X),WG(X):INPUT"WOMEN GM HDCP";W2$(X),W2(X)
  30. 186  NEXT:GOTO 100
  31. 190  INPUT"IF MIXED LEAGUE ENTER 1 ELSE ENTER 0";C7:GOTO 100
  32. 192  INPUT"FREE SUBSTITUTION=1 OTHER=0";C8:GOTO 100
  33. 200  CLS:INPUT"WHAT FILENAME DO YOU WISH TO LOAD";FL$:OPEN"I",1,"B:"+FL$+".TXT"
  34. 210  INPUT#1,L$,C1,C2,C3,C4,C5,C6,C7,C8:FOR X=1 TO C2:INPUT#1,T$(X),T(X,0),T(X,1),T(X,2),T(X,3),N(X):FOR Y=1 TO N(X):INPUT#1,A$(X,Y),A(X,Y,0),A(X,Y,1),A(X,Y,2),A(X,Y,3):NEXT:NEXT
  35. 220  FOR X=1 TO C6:INPUT#1,TS$(X),TS(X),TG$(X),TG(X),IS$(X),IS(X),IG$(X),IG(X),S1$(X),S1(X),S2$(X),S2(X),I1$(X),I1(X),I2$(X),I2(X):IF C7=1 THEN INPUT#1,WS$(X),WS(X),WG$(X),WG(X),W1$(X),W1(X),W2$(X),W2(X)
  36. 225  NEXT:IF C8=0 THEN CLOSE:GOTO 400 ELSE X=0
  37. 226  IF EOF(1) THEN CLOSE:GOTO 400
  38. 230  X=X+1:INPUT#1,S$(X),S(X,0),S(X,1),S(X,2):IF EOF(1) THEN CLOSE:GOTO 400 ELSE GOTO 230
  39. 300  CLS:IF FL$="" THEN INPUT"ENTER FILENAME";FL$
  40. 305  D1=1:PRINT:PRINT"WRITING ";FL$;" TO DISK":OPEN"O",1,"B:"+FL$+".TXT"
  41. 310  PRINT#1,L$;",";C1;C2;C3;C4;C5;C6;C7;C8:FOR X=1 TO C2:PRINT#1,T$(X);",";T(X,0);T(X,1);T(X,2);T(X,3);N(X):FOR Y=1 TO N(X):PRINT#1,A$(X,Y);",";A(X,Y,0);A(X,Y,1);A(X,Y,2);A(X,Y,3):NEXT:NEXT
  42. 320  FOR X=1 TO C6:PRINT#1,TS$(X);",";TS(X);TG$(X);",";TG(X);IS$(X);",";IS(X);IG$(X);",";IG(X);S1$(X);",";S1(X);S2$(X);",";S2(X);I1$(X);",";I1(X);I2$(X);",";I2(X):IF C7=1 THEN PRINT#1,WS$(X);",";WS(X);WG$(X);",";WG(X);W1$(X);",";W1(X);W2$(X);",";W2(X)
  43. 325  NEXT:IF C8=0 THEN CLOSE:GOTO 10 ELSE X=0
  44. 330  X=X+1:IF S$(X)="" THEN CLOSE:GOTO 10 ELSE PRINT#1,S$(X);",";S(X,0);S(X,1);S(X,2):GOTO 330
  45. 400  PRINT"SORTING":FOR X=1 TO C2:T1$(X)=T$(X):T1(X,1)=T(X,1):T1(X,2)=T(X,2):T1(X,3)=T(X,3):NEXT
  46. 430  G=C2
  47. 435  IF G<=1 THEN 495
  48. 440  G=INT(G/2):M=C2-G
  49. 450  F=0:FOR I=1 TO M:P=I+G:IF T1(I,1)>=T1(P,1) THEN 480
  50. 460  SWAP T1$(I),T1$(P):SWAP T1(I,0),T1(P,0):SWAP T1(I,1),T1(P,1):SWAP T1(I,2),T1(P,2):SWAP T1(I,3),T1(P,3)
  51. 470  F=1
  52. 480  NEXT
  53. 485  IF F>0 THEN 450
  54. 490  GOTO 435
  55. 495  FL=0:FOR X=C2 TO 2 STEP-1:IF T1(X,1)<>T1(X-1,1)OR T1(X,3)<=T1(X-1,3) THEN 499
  56. 496  FL=1:SWAP T1$(X),T1$(X-1):SWAP T1(X,0),T1(X-1,0):SWAP T1(X,1),T1(X-1,1):SWAP T1(X,2),T1(X-1,2):SWAP T1(X,3),T1(X-1,3)
  57. 499  NEXT:IF FL=0 THEN 10 ELSE GOTO 495
  58. 500  GOSUB 5000
  59. 501  CLS:LPRINT"RIVER CITY MICRO SYSTEMS  697-9006":LPRINT FL$:LPRINT"PROCESSED: ";DT$:LPRINT:LPRINT:T=21:FOR X=1 TO C3:LPRINT TAB(T)X;:T=T+5:NEXT:LPRINT TAB(45)" TOT";TAB(51)"TPINS";TAB(57)"GMS";TAB(63)"AVG"
  60. 502  FOR X=1 TO C2:PRINT:PRINT X;T$(X):TT=0:TH=0:FOR Z=1 TO C3:TT(Z)=0:TH(Z)=0:NEXT:FOR Y=1 TO N(X):PRINT"# OF GAMES BY ";A$(X,Y);
  61. 503  INPUT R:IF R>4 THEN PRINT"WRONG":GOTO 503
  62. 504  IF R=0 THEN 530 ELSE A(X,Y,1)=A(X,Y,1)+R:T(X,0)=T(X,0)+R:IT=0:FOR Z=1 TO R:PRINT"GAME";Z;
  63. 505  INPUT GG(Z):IF GG(Z)>300 THEN PRINT"WRONG":GOTO 505 ELSE IF GG(Z)<70 THEN INPUT"SURE";Z$:IF LEFT$(Z$,1)<>"Y"AND LEFT$(Z$,1)<>"y" THEN 505
  64. 506  IF GG(Z)=0 THEN A(X,Y,1)=A(X,Y,1)-1:T(X,0)=T(X,0)-1:GOTO 519
  65. 507  IT=IT+GG(Z):TT(Z)=TT(Z)+GG(Z):TH(Z)=TH(Z)+GG(Z)+A(X,Y,0):A(X,Y,2)=A(X,Y,2)+GG(Z)
  66. 510  IF A(X,Y,3)=0 AND GG(Z)=>IG(C6) THEN X$(C6+1)=A$(X,Y):X(C6+1)=GG(Z):FOR S=1 TO C6:X$(S)=IG$(S):X(S)=IG(S):NEXT:GOSUB 1000:FOR S=1 TO C6:IG$(S)=X$(S):IG(S)=X(S):NEXT
  67. 515  IF A(X,Y,3)=0 AND GG(Z)+A(X,Y,0)=>I2(C6) THEN X$(C6+1)=A$(X,Y):X(C6+1)=GG(Z)+A(X,Y,0):FOR S=1 TO C6:X$(S)=I2$(S):X(S)=I2(S):NEXT:GOSUB 1000:FOR S=1 TO C6:I2$(S)=X$(S):I2(S)=X(S):NEXT
  68. 516  IF A(X,Y,3)=1 AND GG(Z)=>WG(C6) THEN X$(C6+1)=A$(X,Y):X(C6+1)=GG(Z):FOR S=1 TO C6:X$(S)=WG$(S):X(S)=WG(S):NEXT:GOSUB 1000:FOR S=1 TO C6:WG$(S)=X$(S):WG(S)=X(S):NEXT
  69. 517  IF A(X,Y,3)=1 AND GG(Z)+A(X,Y,0)=>W2(C6) THEN X$(C6+1)=A$(X,Y):X(C6+1)=GG(Z)+A(X,Y,0):FOR S=1 TO C6:X$(S)=W2$(S):X(S)=W2(S):NEXT:GOSUB 1000:FOR S=1 TO C6:W2$(S)=X$(S):W2(S)=X(S):NEXT
  70. 519  NEXT Z:LPRINT A$(X,Y);TAB(19)" ";:FOR Z=1 TO R:LPRINT USING C$;GG(Z);:LPRINT"  ";:NEXT:LPRINT TAB(45)IT;TAB(50)A(X,Y,2);:LPRINT TAB(57)USING C$;A(X,Y,1);:LPRINT TAB(62)USING C$;INT(A(X,Y,2)/A(X,Y,1))
  71. 520  IF LEFT$(A$(X,Y),1)<>"*" THEN PRINT#1,A$(X,Y);",";DX$:FOR Z=1 TO R:PRINT#1,GG(Z):NEXT
  72. 523  IF A(X,Y,3)=0 AND IT=>IS(C6) THEN X$(C6+1)=A$(X,Y):X(C6+1)=IT:FOR S=1 TO C6:X$(S)=IS$(S):X(S)=IS(S):NEXT:GOSUB 1000:FOR S=1 TO C6:IS$(S)=X$(S):IS(S)=X(S):NEXT
  73. 525  IF A(X,Y,3)=0 AND IT+C3*A(X,Y,0)=>I1(C6) THEN X$(C6+1)=A$(X,Y):X(C6+1)=IT+C3*A(X,Y,0):FOR S=1 TO C6:X$(S)=I1$(S):X(S)=I1(S):NEXT:GOSUB 1000:FOR S=1 TO C6:I1$(S)=X$(S):I1(S)=X(S):NEXT
  74. 526  IF A(X,Y,3)=1 AND IT=>WS(C6) THEN X$(C6+1)=A$(X,Y):X(C6+1)=IT:FOR S=1 TO C6:X$(S)=WS$(S):X(S)=WS(S):NEXT:GOSUB 1000:FOR S=1 TO C6:WS$(S)=X$(S):WS(S)=X(S):NEXT
  75. 527  IF A(X,Y,3)=1 AND IT+C3*A(X,Y,0)=>W1(C6) THEN X$(C6+1)=A$(X,Y):X(C6+1)=IT+C3*A(X,Y,0):FOR S=1 TO C6:X$(S)=W1$(S):X(S)=W1(S):NEXT:GOSUB 1000:FOR S=1 TO C6:W1$(S)=X$(S):W1(S)=X(S):NEXT
  76. 529  AV=INT(A(X,Y,2)/A(X,Y,1)):A(X,Y,0)=INT((C4-AV)*C5/100):IF A(X,Y,0)<1 THEN A(X,Y,0)=0
  77. 530  NEXT Y:FOR Z=1 TO C3:IF TT(Z)=>TG(C6) THEN X$(C6+1)=T$(X):X(C6+1)=TT(Z):FOR S=1 TO C6:X$(S)=TG$(S):X(S)=TG(S):NEXT:GOSUB 1000:FOR S=1 TO C6:TG$(S)=X$(S):TG(S)=X(S):NEXT
  78. 535  IF TH(Z)=>S2(C6) THEN X$(C6+1)=T$(X):X(C6+1)=TH(Z):FOR S=1 TO C6:X$(S)=S2$(S):X(S)=S2(S):NEXT:GOSUB 1000:FOR S=1 TO C6:S2$(S)=X$(S):S2(S)=X(S):NEXT
  79. 539  TT=TT+TT(Z):TH=TH+TH(Z):NEXT Z:IF C4<>0 THEN T(X,3)=T(X,3)+TH ELSE T(X,3)=T(X,3)+TT
  80. 540  IF TT=>TS(C6) THEN X$(C6+1)=T$(X):X(C6+1)=TT:FOR S=1 TO C6:X$(S)=TS$(S):X(S)=TS(S):NEXT:GOSUB 1000:FOR S=1 TO C6:TS$(S)=X$(S):TS(S)=X(S):NEXT
  81. 545  IF TH=>S1(C6) THEN X$(C6+1)=T$(X):X(C6+1)=TH:FOR S=1 TO C6:X$(S)=S1$(S):X(S)=S1(S):NEXT:GOSUB 1000:FOR S=1 TO C6:S1$(S)=X$(S):S1(S)=X(S):NEXT
  82. 547  NEXT X:X=1:IF S$(X)<>"" THEN PRINT:PRINT"SUBS"
  83. 548  IF S$(X)="" THEN 558 ELSE PRINT S$(X);:INPUT R:IF R>4 THEN PRINT"WRONG":GOTO 548
  84. 549  IF R=0 THEN X=X+1:GOTO 548 ELSE S(X,1)=S(X,1)+R:FOR Z=1 TO R:PRINT"GAME #";Z;:INPUT GG(Z):S(X,2)=S(X,2)+GG(Z):IF GG(Z)=0 THEN S(X,1)=S(X,1)-1
  85. 550  NEXT Z:S(X,0)=INT((C4-INT(S(X,2)/S(X,1)))*C5/100)
  86. 551  LPRINT S$(X);TAB(19)" ";:IT=0:FOR Z=1 TO R:LPRINT USING C$;GG(Z);:IT=IT+GG(Z):LPRINT"  ";:NEXT:LPRINT TAB(45)IT;TAB(50)S(X,2);:LPRINT TAB(57)USING C$;S(X,1);:LPRINT TAB(62)USING C$;INT(S(X,2)/S(X,1))
  87. 552  PRINT#1,S$(X);",";DX$:FOR Z=1 TO R:PRINT#1,GG(Z):NEXT
  88. 556  X=X+1:GOTO 548
  89. 558  CLOSE:CLS:FOR X=1 TO C2
  90. 559  PRINT T$(X);:INPUT" (W,L)";W,L:IF W>25 OR L>25 THEN PRINT"ERROR..REENTER":GOTO 559
  91. 560  T(X,1)=T(X,1)+W:T(X,2)=T(X,2)+L:NEXT:GOTO 400
  92. 600  CLS:INPUT"DO YOU WISH SCHEDULE PRINTED";P$:IF LEFT$(P$,1)="Y" OR LEFT$(P$,1)="y" THEN PRINT"ENTER LANE #, TEAM A#, TEAM B# FOR EACH":FOR X=1 TO INT((C2+1)/2):INPUT L(X),A1(X),B(X):NEXT:INPUT"ENTER BRIEF MESSAGE, ELSE JUST PUSH 'ENTER'.";M9$
  93. 601  LPRINT TAB(23)"River City Micro Systems  697-9006":LPRINT:LPRINT
  94. 602  LPRINT:LPRINT:LPRINT TAB(40-LEN(L$)/2)L$:LPRINT:LPRINT TAB(40-LEN(DT$)/2)DT$:LPRINT:LPRINT:LPRINT TAB(46)"W";TAB(52)"L";TAB(58)"%";TAB(63)"PINS":FOR X=1 TO C2:IF T1$(X)="SUBS" THEN 609 ELSE LPRINT TAB(12)USING C$;X;
  95. 603  LPRINT TAB(17)T1$(X);:LPRINT TAB(43)USING B$;T1(X,1);:LPRINT TAB(49)USING B$;T1(X,2);:LPRINT TAB(56)USING A$;T1(X,1)/(T1(X,1)+T1(X,2));:LPRINT TAB(62)USING D$;T1(X,3):NEXT:LPRINT:LPRINT TAB(31)STRING$(22,"-"):LPRINT
  96. 609  IF C7=1 THEN T1=9:T2=5 ELSE T1=21:T2=17
  97. 610  LPRINT TAB(37)"SERIES":LPRINT TAB(T1)"TEAM SCRATCH";TAB(T1+24)Q$(C7);" SCRATCH";:IF C7=1 THEN LPRINT TAB(55)"WOMEN SCRATCH" ELSE LPRINT
  98. 611  FOR X=1 TO C6:LPRINT TAB(T2)X;TAB(T2+3)TS$(X);TAB(T2+20)TS(X);TAB(T2+27)IS$(X);TAB(T2+43)IS(X);:IF C7=1 THEN LPRINT TAB(54)WS$(X);STRING$(16-LEN(WS$(X))," ");WS(X) ELSE LPRINT
  99. 615  NEXT:LPRINT:IF C4=0 THEN LPRINT:LPRINT:GOTO 620 ELSE LPRINT TAB(T2+4)"TEAM W/HDCP";TAB(T2+28)Q$(C7);" W/HDCP";:IF C7=1 THEN LPRINT TAB(55)"WOMEN W/HDCP" ELSE LPRINT
  100. 618  FOR X=1 TO C6:LPRINT TAB(T2)X;TAB(T2+3)S1$(X);TAB(T2+20)S1(X);TAB(T2+27)I1$(X);TAB(T2+42)I1(X);:IF C7=1 THEN LPRINT TAB(54)W1$(X);STRING$(16-LEN(W1$(X))," ");W1(X) ELSE LPRINT
  101. 619  NEXT:LPRINT:LPRINT
  102. 620  LPRINT TAB(37)"GAME":LPRINT TAB(T1)"TEAM SCRATCH";TAB(T1+24)Q$(C7);" SCRATCH";:IF C7=1 THEN LPRINT TAB(55)"WOMEN SCRATCH" ELSE LPRINT
  103. 621  FOR X=1 TO C6:LPRINT TAB(T2)X;TAB(T2+3)TG$(X);TAB(T2+21)TG(X);TAB(T2+27)IG$(X);TAB(T2+42)IG(X);:IF C7=1 THEN LPRINT TAB(54)WG$(X);STRING$(16-LEN(WG$(X))," ");WG(X) ELSE LPRINT
  104. 625  NEXT:LPRINT:IF C4=0 THEN LPRINT:LPRINT:GOTO 630 ELSE LPRINT TAB(T2+4)"TEAM W/HDCP";TAB(T2+28)Q$(C7);" W/HDCP";:IF C7=1 THEN LPRINT TAB(55)"WOMEN W/HDCP" ELSE LPRINT
  105. 628  FOR X=1 TO C6:LPRINT TAB(T2)X;TAB(T2+3)S2$(X);TAB(T2+21)S2(X);TAB(T2+27)I2$(X);TAB(T2+42)I2(X);:IF C7=1 THEN LPRINT TAB(54)W2$(X);STRING$(16-LEN(W2$(X))," ");W2(X) ELSE LPRINT
  106. 629  NEXT:LPRINT:LPRINT TAB(31)STRING$(22,"-"):LPRINT
  107. 630  FOR X=1 TO C2 STEP 2:GOSUB 695:LPRINT TAB(18)"GMS";TAB(23)"PINS";TAB(29)"AVG";:IF C4<>0 THEN LPRINT TAB(34)"HDCP";
  108. 631  IF X+1=<C2 THEN LPRINT TAB(58)"GMS";TAB(63)"PINS";"  ";"AVG";"  ";:IF C4<>0 THEN LPRINT"HDCP" ELSE LPRINT ELSE LPRINT
  109. 632  IF N(X)>N(X+1) THEN N=N(X) ELSE N=N(X+1)
  110. 633  FOR Y=1 TO N:IF A$(X,Y)<>"" THEN LPRINT A$(X,Y);:LPRINT TAB(17)USING C$;A(X,Y,1);:LPRINT TAB(21)USING D$;A(X,Y,2);:LPRINT TAB(29)USING C$;INT(A(X,Y,2)/A(X,Y,1)); ELSE GOTO 635
  111. 634  IF C4<>0 THEN LPRINT TAB(33)USING C$;A(X,Y,0); ELSE LPRINT TAB(33)" ";
  112. 635  IF X+1>C2 THEN LPRINT:GOTO 637 ELSE IF A$(X+1,Y)<>"" THEN LPRINT TAB(40)A$(X+1,Y);:LPRINT TAB(57)USING C$;A(X+1,Y,1);:LPRINT TAB(61)USING D$;A(X+1,Y,2);:LPRINT"  ";:LPRINT USING C$;INT(A(X+1,Y,2)/A(X+1,Y,1));:LPRINT"  ";: ELSE LPRINT:GOTO 637
  113. 636  IF C4<>0 THEN LPRINT USING C$;A(X+1,Y,0) ELSE LPRINT" "
  114. 637  NEXT Y:LPRINT:LPRINT:LPRINT:NEXT X:X=1:IF S$(X)="" THEN 644 ELSE LPRINT "SUBS":LPRINT TAB(16)"GMS";TAB(23)"PINS";TAB(29)"AVG";:IF C4<>0 THEN LPRINT TAB(34)"HDCP";
  115. 638  IF S$(2)<>"" THEN LPRINT TAB(56)"GMS";TAB(63)"PINS  AVG  ";:IF C4<>0 THEN LPRINT"HDCP" ELSE LPRINT
  116. 639  LPRINT S$(X);:LPRINT TAB(15)USING C$;S(X,1);:LPRINT TAB(21)USING D$;S(X,2);:LPRINT TAB(28)USING C$;INT(S(X,2)/S(X,1));:IF C4<>0 THEN IF S(X,0)=<0 THEN LPRINT TAB(35)0; ELSE LPRINT TAB(33)S(X,0);
  117. 640  IF S$(X+1)<>"" THEN LPRINT TAB(40)S$(X+1);:LPRINT TAB(55)USING C$;S(X+1,1);:LPRINT TAB(61)USING D$;S(X+1,2);:LPRINT" ";:LPRINT USING C$;INT(S(X+1,2)/S(X+1,1));:LPRINT"  ";:IF C4=0 THEN LPRINT ELSE IF S(X+1,0)=<0 THEN LPRINT 0 ELSE LPRINT S(X+1,0)
  118. 641  X=X+2:IF S$(X)<>"" THEN 639
  119. 644  LPRINT:LPRINT:LPRINT:IF P$<>"Y"AND P$<>"y" THEN 10 ELSE FOR X=1 TO INT((C2+1)/2):LPRINT:LPRINT TAB(35)"LANE";L(X):LPRINT:LPRINT TAB(8)T$(A1(X));TAB(44)T$(B(X)):LPRINT TAB(27)"AVG";:IF C4>0 THEN LPRINT TAB(33)"HDCP";
  120. 647  LPRINT TAB(62)"    AVG";:IF C4>0 THEN LPRINT"    HDCP" ELSE LPRINT
  121. 648  IF N(A1(X))=>N(B(X)) THEN N=N(A1(X)) ELSE N=N(B(X))
  122. 650  FOR Y=1 TO N:IF A$(A1(X),Y)<>"" THEN LPRINT TAB(8)A$(A1(X),Y);:LPRINT TAB(27)USING C$;INT(A(A1(X),Y,2)/A(A1(X),Y,1));:IF C4>0 THEN LPRINT TAB(32)USING C$;A(A1(X),Y,0);
  123. 655  IF A$(B(X),Y)<>"" THEN LPRINT TAB(44)A$(B(X),Y);:LPRINT TAB(62)"    ";:LPRINT USING C$;INT(A(B(X),Y,2)/A(B(X),Y,1));ELSE LPRINT:GOTO 660
  124. 657  IF C4>0 THEN LPRINT TAB(69)"    ";:LPRINT USING C$;A(B(X),Y,0) ELSE LPRINT
  125. 660  NEXT Y:LPRINT:LPRINT M9$:LPRINT:LPRINT:NEXT X:LPRINT CHR$(12):GOTO 10
  126. 695  LPRINT X;" ";T$(X);:IF X+1>C2 THEN LPRINT :RETURN ELSE LPRINT TAB(40)X+1;" ";T$(X+1);:LPRINT :RETURN
  127. 700  CLS:PRINT TAB(32)"W";TAB(37)"L";TAB(42)"%";TAB(50)"PINS":FOR X=1 TO C2:PRINT T1$(X);:PRINT TAB(29)USING B$;T1(X,1);:PRINT TAB(34)USING B$;T1(X,2);:PRINT TAB(41)USING A$;T1(X,1)/(T1(X,1)+T1(X,2));:PRINT TAB(48)T1(X,3):NEXT
  128. 701  INPUT"CONT";Z$:GOTO 710
  129. 705  PRINT TAB(31)"GMS";TAB(37)"PINS";TAB(44)"AVG";TAB(50)"POINTS":FOR X=1 TO C2:PRINT T1$(X);:PRINT TAB(31)USING C$;T1(X,0);:PRINT TAB(36)T1(X,3);:PRINT TAB(44)USING C$;T1(X,3)/T1(X,0);:PRINT TAB(50)USING B$;T1(X,1):NEXT:INPUT"CONT";Z$
  130. 710  CLS:PRINT TAB(25)"SERIES INFO":PRINT "TEAM SCRATCH";TAB(25)Q$(C7);" SCRATCH";:IF C7=1 THEN PRINT TAB(42)"WOMENS SCRATCH" ELSE PRINT
  131. 711  FOR X=1 TO C6:PRINT X;TS$(X);TAB(20)TS(X);TAB(28)IS$(X);TAB(42)IS(X);:IF C7=1 THEN PRINT TAB(47)WS$(X);TAB(65)WS(X) ELSE PRINT
  132. 715  NEXT:PRINT"TEAM W/HDCP";TAB(22);Q$(C7);" W/HDCP";:IF C7=1 THEN PRINT TAB(42)"WOMENS W/HDCP" ELSE PRINT
  133. 718  FOR X=1 TO C6:PRINT X;S1$(X);TAB(20)S1(X);TAB(28)I1$(X);TAB(42)I1(X);:IF C7=1 THEN PRINT TAB(47)W1$(X);TAB(65)W1(X) ELSE PRINT
  134. 719  NEXT:INPUT Z$
  135. 720  CLS:PRINT TAB(25)"GAME INFO":PRINT "TEAM SCRATCH";TAB(25)Q$(C7);" SCRATCH";:IF C7=1 THEN PRINT TAB(42)"WOMENS SCRATCH" ELSE PRINT
  136. 721  FOR X=1 TO C6:PRINT X;TG$(X);TAB(20)TG(X);TAB(28)IG$(X);TAB(42)IG(X);:IF C7=1 THEN PRINT TAB(47)WG$(X);TAB(65)WG(X) ELSE PRINT
  137. 725  NEXT:PRINT"TEAM W/HDCP";TAB(25)Q$(C7);" W/HDCP";:IF C7=1 THEN PRINT TAB(42)"WOMENS W/HDCP" ELSE PRINT
  138. 728  FOR X=1 TO C6:PRINT X;S2$(X);TAB(20)S2(X);TAB(28)I2$(X);TAB(42)I2(X);:IF C7=1 THEN PRINT TAB(47)W2$(X);TAB(65)W2(X) ELSE PRINT
  139. 729  NEXT:INPUT Z$
  140. 730  FOR X=1 TO C2:GOSUB 795:FOR Y=1 TO N(X):PRINT Y;TAB(5)A$(X,Y);:PRINT TAB(20)USING C$;A(X,Y,1);:PRINT TAB(25)USING D$;A(X,Y,2);:PRINT TAB(33)USING C$;INT(A(X,Y,2)/A(X,Y,1));
  141. 731  IF C4=0 THEN PRINT:GOTO 732 ELSE IF A(X,Y,0)=<0 THEN PRINT TAB(39)USING C$;0 ELSE PRINT TAB(39)USING C$;A(X,Y,0)
  142. 732  NEXT
  143. 735  PRINT:INPUT"CONT";Z$:NEXT X:X=1:IF S$(X)="" THEN 10
  144. 740  CLS:PRINT"SUBS":PRINT TAB(19)"GMS";TAB(25)"PINS";TAB(32)"AVG";:IF C4=0 THEN PRINT ELSE PRINT TAB(38)"HDCP"
  145. 742  PRINT X;TAB(6)S$(X);:PRINT TAB(19)USING C$;S(X,1);:PRINT TAB(24)USING D$;S(X,2);:PRINT TAB(32)USING C$;INT(S(X,2)/S(X,1));:IF C4=0 THEN PRINT ELSE IF S(X,0)=<0 THEN PRINT TAB(38)0 ELSE PRINT TAB(38)USING C$;S(X,0)
  146. 743  X=X+1:IF S$(X)<>"" THEN 742
  147. 745  INPUT Z$:GOTO 10
  148. 795  CLS:PRINT"TEAM";X;"  ";T$(X):PRINT:PRINT TAB(20)"GMS";TAB(26)"PINS";TAB(33)"AVG";:IF C4=0 THEN PRINT:RETURN ELSE PRINT TAB(39)"HDCP":RETURN
  149. 800  CLS:PRINT"PRINT LIST OF":PRINT:PRINT"0-MEN":PRINT"1-WOMEN":INPUT Z
  150. 810  FOR X=1 TO C2:FOR Y=1 TO N(X):IF A(X,Y,3)=Z THEN PRINT"TEAM";X,"PLAYER";Y,A$(X,Y):FOR ZZ=1 TO 150:NEXT
  151. 820  NEXT Y:NEXT X:INPUT Z$:GOTO 10
  152. 850  CLS:PRINT"POSTING INDIVIDUAL GAMES TO MASTER FILES"
  153. 855  GOSUB 5010:IF EOF(2) THEN 875
  154. 860  INPUT#2,XX$,YY$:FOR Y=1 TO C3:INPUT#2,GG(Y):NEXT
  155. 865  PRINT#3,XX$;",";YY$:FOR Y=1 TO C3:PRINT#3,GG(Y):NEXT
  156. 870  IF NOT EOF(2) THEN 860
  157. 875  INPUT#1,XX$,YY$:FOR Y=1 TO C3:INPUT#1,GG(Y):NEXT
  158. 880  PRINT#3,XX$;",";YY$:FOR Y=1 TO C3:PRINT#3,GG(Y):NEXT
  159. 885  IF NOT EOF(1) THEN 875
  160. 890  CLOSE:D2=1:OPEN"I",1,FL$+".TMP":OPEN"O",2,"B:"+FL$+".IND"
  161. 895  INPUT#1,XX$,YY$:FOR Y=1 TO C3:INPUT#1,GG(Y):NEXT
  162. 897  PRINT#2,XX$;",";YY$:FOR Y=1 TO C3:PRINT#2,GG(Y):NEXT:IF EOF(1) THEN CLOSE:XX$="A:"+FL$+".TMP":KILL XX$:GOTO 10
  163. 899  GOTO 895
  164. 900  N=0:PRINT"SORTING":FOR X=1 TO C2:FOR Y=1 TO N(X):GOSUB 990:NEXT:NEXT:GOSUB 3000
  165. 930  LPRINT:LPRINT TAB(31-LEN(L$)/2)L$;" AVERAGES":LPRINT:LPRINT TAB(35-LEN(DT$)/2)DT$:LPRINT:LPRINT:Z=INT(N/2)+1:FOR X=1 TO Z:LPRINT;X;".";TAB(7)M$(X);TAB(23)M(X);TAB(40)X+Z;".";TAB(46)M$(X+Z);TAB(65)M(X+Z):NEXT
  166. 935  IF C7=0 THEN LPRINT CHR$(12):GOTO 10
  167. 940  N=0:FOR X=1 TO C2:FOR Y=1 TO N(X):IF A(X,Y,3)=1 THEN GOSUB 990
  168. 945  NEXT:NEXT:GOSUB 3000:FOR X=1 TO N:M$(X+50)=M$(X):M(X+50)=M(X):NEXT:FOR X=N+1 TO 50:M$(X+50)="":M(X+50)=0:NEXT
  169. 950  N=0:FOR X=1 TO C2:FOR Y=1 TO N(X):IF A(X,Y,3)=0 THEN GOSUB 990
  170. 955  NEXT:NEXT:GOSUB 3000:FOR X=N+1 TO 50:M$(X)="":M(X)=0:NEXT
  171. 970  LPRINT:LPRINT:LPRINT"MEN";TAB(20)"WOMEN":X=0
  172. 975  X=X+1:IF M$(X)=""AND M$(X+50)="" THEN LPRINT CHR$(12):GOTO 10 ELSE LPRINT X;".";TAB(7)M$(X);TAB(23)M(X);TAB(40)X;".";TAB(46)M$(X+50);TAB(65)M(X+50):GOTO 975
  173. 990  N=N+1:M$(N)=A$(X,Y):M(N)=INT(A(X,Y,2)/A(X,Y,1)):RETURN
  174. 1000  G=C6+1
  175. 1010  IF G<=1 THEN 1060
  176. 1020  G=INT(G/2):M=C6+1-G
  177. 1030  F=0:FOR I=1 TO M:P=I+G:IF X(I)>=X(P) THEN 1050
  178. 1040  SWAP X$(I),X$(P):SWAP X(I),X(P):F=1
  179. 1050  NEXT:IF F>0 THEN 1030 ELSE 1010
  180. 1060  IF X(C6+1)=X(C6) THEN X$(C6)="*"+X$(C6)
  181. 1070  RETURN
  182. 3000  I1=1:J1=N
  183. 3020  I=I1:J=J1:S=-1
  184. 3060  IF M(I)>=M(J) THEN 3200
  185. 3070  SWAP M(I),M(J):SWAP M$(I),M$(J):S=-S
  186. 3200  IF S=1 THEN I=I+1 ELSE J=J-1
  187. 3240  IF I<J THEN 3060
  188. 3260  IF I+1>=J1 THEN 3300
  189. 3270  P=P+1:S9(P,1)=I+1:S9(P,2)=J1
  190. 3300  J1=I-1
  191. 3330  IF I1<J1 THEN 3020
  192. 3340  IF P=0 THEN RETURN
  193. 3350  I1=S9(P,1):J1=S9(P,2):P=P-1
  194. 3360  GOTO 3020
  195. 4000  CLS:FOR X=1 TO C2:PRINT"TEAM";X,T$(X):NEXT:INPUT"MAKE CHANGES ON WHICH TEAM (0  TO  QUIT)";X:IF X=0 THEN 100
  196. 4010  CLS:PRINT TAB(23)"HDCP    GMS       PINS   SEX"
  197. 4015  FOR Z=1 TO N(X):PRINT Z;TAB(4)A$(X,Z);:PRINT TAB(24)USING"##      ##      #####     #";A(X,Z,0);A(X,Z,1);A(X,Z,2);A(X,Z,3):NEXT:INPUT"CHANGE WHICH LINE";Z
  198. 4020  CLS:PRINT TAB(23)"HDCP   GMS     PINS     SEX"
  199. 4025  PRINT A$(X,Z);:PRINT TAB(24)USING"##     ##    #####      #";A(X,Z,0);A(X,Z,1);A(X,Z,2);A(X,Z,3):PRINT:PRINT"ENTER NAME,HDCP,GAMES, TOT PINS,SEX(M=0)":INPUT A$(X,Z),A(X,Z,0),A(X,Z,1),A(X,Z,2),A(X,Z,3)
  200. 4030  GOTO 4000
  201. 5000  OPEN"O",1,"TEMPFILE":RETURN
  202. 5010  IF FL$=""THEN INPUT"ENTER FILENAME";FL$
  203. 5020  OPEN"I",1,"TEMPFILE":OPEN"I",2,"B:"+FL$+".IND":OPEN"O",3,FL$+".TMP":RETURN
  204.